package com.atguigu.lease.common.exceptions;


import com.atguigu.lease.common.result.Result;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * projectName: com.atguigu.lease.common.exceptions
 *
 * @author: 赵伟风
 * description: 全局异常处理类,所有的异常都到这统一处理!!
 *   步骤1: 类上添加@ControllerAdvice [aop] @RestControllerAdvice 所有异常都汇集到此
 *   步骤2:
 *
 */

//@ControllerAdvice [springmvc]
@RestControllerAdvice
public class GlobalExceptionHandlers {


    @ExceptionHandler(Exception.class)
    public Result fail(Exception e){
        e.printStackTrace(); //异常信息打印 打印到控制台 | 工作打印到日志中
        return Result.fail(); //201
    }

    @ExceptionHandler(LeaseException.class)
    public Result fail(LeaseException e){
        e.printStackTrace(); //异常信息打印 打印到控制台 | 工作打印到日志中
        return Result.build(e.getResultCodeEnum());
    }


//    @ExceptionHandler(NullPointerException.class)
//    public Result fail(NullPointerException e){
//        e.printStackTrace(); //异常信息打印 打印到控制台 | 工作打印到日志中
//        return Result.fail();
//    }
//    @ExceptionHandler(jjj.class)
//    public Result fail(){
//
//    }
//
//
//    @ExceptionHandler(kkk.class)
//    public Result fail(){
//
//    }

}
